﻿using System;
using System.Collections.Generic;

namespace KL.UFrame.Data.Business.Impl
{
    public class TokenManager:ITokenManager
    {
        private List<string> _tokens;

        public TokenManager()
        {
            _tokens= new List<string>();
        }

        public string GetToken()
        {
            var token = Guid.NewGuid().ToString("N");
            _tokens.Add(token);
            return token;
        }

        public bool ValidateToken(string token)
        {
            if (string.IsNullOrEmpty(token)) return false;
            if (_tokens.Contains(token))
            {
                _tokens.Remove(token);
                return true;
            }
            return false;
        }
    }
}